TOP

Sentence Case LibreOffice için işlev Calc

SENTENCECASE() Açıklama

SENTENCECASE() işlevi, mevcut metni cümle biçimine dönüştürmek için tasarlanmıştır ve formdaki bir sözcük kümesini döndürür: "Sentence case function" .

Sentence Case noktalarla, ünlem işaretleriyle veya soru işaretleriyle ayrılmış satırları ayrı cümlelere böler. Daha sonra cümledeki ilk harf dışındaki tüm kelimeleri küçük harfe dönüştürür ve ardından tüm öğeleri tek bir sürekli metinde birleştirir.

SENTENCECASE() işlevi, metin boyunca cümlelerdeki harflerin büyük/küçük harflerini düzeltmek için yararlı olabilir.


StarBASIC SENTENCECASE() için kod

Burada, LibreOffice Calc içindeki cümlelerdeki sözcükleri (Sentence Case) büyük/küçük harflere yaslayabilen özel bir işlev oluşturmaya yönelik makro kodu verilmiştir.

Tools - Macros - Edit Macros... menüsünü açın, Module1'yi seçin ve aşağıdaki metni modüle kopyalayın:

  1. Function SentenceCase(ByVal str As StringAs String  
  2.   'moonexcel.com.ua  
  3.   Dim sentences As Variant  
  4.   Dim i         As Integer  
  5.   Dim FCalc     As Object  
  6.       
  7.   FCalc = CreateUnoService("com.sun.star.sheet.FunctionAccess")      
  8.     
  9.   str = Replace(str,"-"," ")  
  10.   str = Replace(str,"_"," ")  
  11.   str = FCalc.callFunction("TRIM", Array(str))  
  12.   str = LCase(str)  
  13.   str = FCalc.callFunction("REGEX", Array(str,"([.!?])(\s)(\w)","$1#$3","g"))  
  14.     
  15.   sentences = Split(str, "#")  
  16.       
  17.   For i = LBound(sentences) To UBound(sentences)         
  18.     sentences(i) = UCase(Left(sentences(i), 1)) & Mid(sentences(i), 2)         
  19.   Next i  
  20.       
  21.   SentenceCase = Join(sentences," ")  
  22. End Function  

Daha sonra Macro Editor'u kapatın, LibreOffice Calc'ye dönün ve yeni fonksiyonumuzu herhangi bir hücrede kullanın.

Uzantıyı kullanma

Bundan sonra bu fonksiyon LibreOffice Calc'de açılacak tüm dosyalarda mevcut olacaktır.